//
// Created by zuo on 2024/7/7.
// 题目链接 https://www.lanqiao.cn/problems/3382/learning/?page=1&first_category_id=1&problem_id=3382
// 题目链接 https://www.lanqiao.cn/problems/3419/learning/?page=1&first_category_id=1&problem_id=3419
//

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll p = 1e9 + 7; // 取模  防止整数相乘溢出
const int N = 1e5 + 9;
ll a[6][N], prefix[6][N]; // 表示第 n 个数的 k次方（k == 0~5）
ll prefix1[N];

int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    // int n, m;
    // cin >> n >> m;
    // for (int i = 1; i <= n; i++) cin >> a[1][i]; // 存储的是 1次方的数
    // // 存储的是 2~5次方的数
    // for (int i = 2; i <= 5; i++)
    // {
    //     for (int j = 1; j <= n; j++)
    //     {
    //         a[i][j] = a[i - 1][j] * a[1][j] % p; // a_5 = a_4 * a
    //     }
    // }
    // // 计算前缀和  prefix[i] = prefix[i-1] + a[i]
    // for (int i = 1; i <= 5; i++)
    // {
    //     for (int j = 1; j <= n; j++)
    //     {
    //         prefix[i][j] = (prefix[i][j - 1] + a[i][j]) % p; // 前缀和
    //     }
    // }
    // while (m--)
    // {
    //     int l, r, k;
    //     cin >> l >> r >> k;
    //     cout << (prefix[k][r] - prefix[k][l - 1] + p) % p << '\n';
    // }

    string s;
    getline(cin, s);
    for (int i = 0; i < s.length(); i++)
    {
        prefix1[i] = prefix1[i - 1] + (s[i] == 'L' ? 1 : -1); // 前缀和
    }
    int ans = 0;
    // 有前缀和 一般都是 求差
    for (int i = 0; i < s.length(); i++)
    {
        for (int j = i + 1; j < s.length(); j++)
        {
            if (prefix1[j] - prefix1[i - 1] == 0)
            {
                ans = max(ans, j - i + 1);
            }
        }
    }
    cout << ans;
    return 0;
}
